package jp.co.nes.awssupport.business.bean;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import jp.co.nes.awssupport.common.bean.BaseBean;

/**
 * 請求CSVマニュフェストです。<br>
 * 請求CSVマニュフェスト(JSON形式)を読み込み、値を格納するために使用するBeanクラスです。<br>
 * なお、使用するもののみ、読み込み、格納します。
 */
@JsonIgnoreProperties({ "contentType", "reportId", "reportName", "billingPeriod", "additionalArtifactKeys" })
public class ManifestBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** assemblyId */
    private String assemblyId;

    /** アカウント */
    private String account;

    /** charset */
    private String charset;

    /** 圧縮形式 */
    private String compression;

    /** カラム情報一覧 */
    private List<ColumnBean> columns;

    /** bucket */
    private String bucket;

    /** レポートキー一覧 */
    private List<String> reportKeys;

    /**
     * デフォルトコンストラクタです。
     */
    public ManifestBean() {
    }

    /**
     * assemblyIdを返却します。
     *
     * @return assemblyId
     */
    public String getAssemblyId() {
        return assemblyId;
    }

    /**
     * assemblyIdを設定します。
     *
     * @param assemblyId assemblyId
     */
    public void setAssemblyId(String assemblyId) {
        this.assemblyId = assemblyId;
    }

    /**
     * アカウントを返却します。
     *
     * @return アカウント
     */
    public String getAccount() {
        return account;
    }

    /**
     * アカウントを設定します。
     *
     * @param account アカウント
     */
    public void setAccount(String account) {
        this.account = account;
    }

    /**
     * charsetを返却します。
     *
     * @return charset
     */
    public String getCharset() {
        return charset;
    }

    /**
     * charsetを設定します。
     *
     * @param charset charset
     */
    public void setCharset(String charset) {
        this.charset = charset;
    }

    /**
     * 圧縮形式を返却します。
     *
     * @return 圧縮形式
     */
    public String getCompression() {
        return compression;
    }

    /**
     * 圧縮形式を設定します。
     *
     * @param compression 圧縮形式
     */
    public void setCompression(String compression) {
        this.compression = compression;
    }

    /**
     * カラム情報一覧を返却します。
     *
     * @return カラム情報一覧
     */
    public List<ColumnBean> getColumns() {
        return columns;
    }

    /**
     * カラム情報一覧を設定します。
     *
     * @param columns カラム情報一覧
     */
    public void setColumns(List<ColumnBean> columns) {
        this.columns = columns;
    }

    /**
     * bucketを返却します。
     *
     * @return bucket
     */
    public String getBucket() {
        return bucket;
    }

    /**
     * bucketを設定します。
     *
     * @param bucket bucket
     */
    public void setBucket(String bucket) {
        this.bucket = bucket;
    }

    /**
     * レポートキー一覧を返却します。
     *
     * @return レポートキー一覧
     */
    public List<String> getReportKeys() {
        return reportKeys;
    }

    /**
     * レポートキー一覧を設定します。
     *
     * @param reportKeys レポートキー一覧
     */
    public void setReportKeys(List<String> reportKeys) {
        this.reportKeys = reportKeys;
    }
}
